#ifndef __GENE_FACTORY_IF__
#define __GENE_FACTORY_IF__

#include "GeneCreateDataIf.h"
#include "GeneIf.h"

class TCOM_API  IGeneFactory
{
public:
	virtual ~IGeneFactory(){;}

	//
	//	initialize the factory
	//
	virtual void	initialize() = 0;

	//
	//	gene create
	//	require an gene identifier : group id + id
	//	require an gene create dynamic data
	//
	virtual IGene*	create(IGeneCreateData& createData)	= 0;
};


#endif
